
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define FORWARD 1
#define BACKWARD 1

typedef void llist_op(const void*);

struct dllist_node_st
{
	void* data;
	struct dllist_node_st* prev;
	struct dllist_node_st* next;
};


typedef struct
{
	int size;
	struct dllist_node_st head;
}DLINKLIST;

DLINKLIST *llist_create(int initsize);
void llist_destroy(DLINKLIST*);
int llist_insert(DLINKLIST*,const void *data,int mode);
void llist_travel(DLINKLIST*,llist_op *);